<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>段式回文</title>
</head>
<body>
  <script>
    // at()：用于接收一个整数值并返回该索引对应的元素，允许正数和负数。负整数从数组中的最后一个元素开始倒数
    // 例如：找到正数为2，负数为-2的元素，正数是从下标0开始，负数是从最后一个元素开始，并且最后一个元素的下标为-1
    function fn(text) {
      let ans = 0, i = 0;
      let text1 = '', text2 = '';
      // |按位或：转二进制相等为1（0除外），不相等也为1，值再转为十进制
      while (i < (text.length / 2) | 0) {
        text1 += text.at(i);
        text2 = text.at(-i - 1) + text2;
        if (text1 === text2) {
          text1 = '';
          text2 = '';
          ans += 2;
        }
        i++;
      }
      // &按位与：转二进制相等为1（0除外），不相等为0，值再转为十进制
      if (text.length & 1 === 1 || text1 !== '') {
        ans += 1;
      }
      return ans;
    }
    console.log(fn('merchant'))
  </script>
</body>

</html>